package com.cloud.wms.injection.components;

import android.app.Activity;

import com.cloud.wms.injection.modules.FragmentModule;
import com.cloud.wms.injection.scopes.PerFragment;
import com.cloud.wms.ui.in.fragment.HaveBatchFragment;
import com.cloud.wms.ui.in.fragment.HaveDetailFragment;
import com.cloud.wms.ui.in.fragment.HaveMarkFragment;
import com.cloud.wms.ui.in.fragment.HaveSingleFragment;
import com.cloud.wms.ui.in.fragment.ShelfBatchFragment;
import com.cloud.wms.ui.in.fragment.ShelfDetailFragment;
import com.cloud.wms.ui.in.fragment.ShelfMarkDetailFragment;
import com.cloud.wms.ui.in.fragment.ShelfMarkFragment;
import com.cloud.wms.ui.in.fragment.ShelfSingleFragment;
import com.cloud.wms.ui.inside.fragment.ReplenishDownDetailFragment;
import com.cloud.wms.ui.inside.fragment.ReplenishDownFragment;
import com.cloud.wms.ui.inside.fragment.ReplenishUpDetailFragment;
import com.cloud.wms.ui.inside.fragment.ReplenishUpFragment;
import com.cloud.wms.ui.main.fragment.MineTaskFragment;
import com.cloud.wms.ui.main.fragment.ModelFragment;
import com.cloud.wms.ui.main.fragment.WaitTaskFragment;
import com.cloud.wms.ui.sort.fragment.CarSortDetachDetailFragment;
import com.cloud.wms.ui.sort.fragment.CarSortDetachFragment;
import com.cloud.wms.ui.sort.fragment.CarSortDetailFragment;
import com.cloud.wms.ui.sort.fragment.CarSortFragment;
import com.cloud.wms.ui.sort.fragment.GroupSortDetailFragment;
import com.cloud.wms.ui.sort.fragment.GroupSortFragment;
import com.cloud.wms.ui.sort.fragment.OrderSortDetailFragment;
import com.cloud.wms.ui.sort.fragment.OrderSortFragment;
import com.cloud.wms.ui.sort.fragment.SkuSortDetailFragment;
import com.cloud.wms.ui.sort.fragment.SkuSortFragment;

import dagger.Component;

/**
 * Created by Tanghaibo
 * 2018/3/23
 * description:
 */
@PerFragment
@Component(
        dependencies = ApplicationComponent.class,
        modules = FragmentModule.class
)
public interface FragmentComponent {
    Activity getActivity();

    void inject(ModelFragment fragment);

    void inject(WaitTaskFragment fragment);

    void inject(MineTaskFragment fragment);

    void inject(HaveMarkFragment fragment);

    void inject(HaveBatchFragment fragment);

    void inject(HaveSingleFragment fragment);

    void inject(HaveDetailFragment fragment);

    void inject(ShelfMarkFragment fragment);

    void inject(ShelfBatchFragment fragment);

    void inject(ShelfSingleFragment fragment);

    void inject(ShelfMarkDetailFragment fragment);

    void inject(ShelfDetailFragment fragment);

    void inject(GroupSortFragment fragment);

    void inject(GroupSortDetailFragment fragment);

    void inject(CarSortFragment fragment);

    void inject(CarSortDetailFragment fragment);

    void inject(CarSortDetachFragment fragment);

    void inject(CarSortDetachDetailFragment fragment);

    void inject(SkuSortFragment fragment);

    void inject(SkuSortDetailFragment fragment);

    void inject(OrderSortFragment fragment);

    void inject(OrderSortDetailFragment fragment);

    void inject(ReplenishDownDetailFragment fragment);

    void inject(ReplenishDownFragment fragment);

    void inject(ReplenishUpDetailFragment fragment);

    void inject(ReplenishUpFragment fragment);
}
